<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');

include_once 'TOConfig.php';

/**
 * DAO para operações de banco para config
 * @author Douglas Rafael
 *
 */
class DAOConfig extends CI_Model {

    /**
     * Retorna todos os dados que armazena as configurações do sistema.
     * @return array TOAutor
     */
    public function get_all() {
        try {
            $result = $this->db->get("config", 1);
            $config = new TOConfig();

            if ($value = $result->row()) {
                $config->nome = $value->nome;
                $config->endereco = $value->endereco;
                $config->telefone = $value->telefone;
                $config->email = $value->email;
                $config->logomarca = $value->logomarca;
                $config->tema = $value->tema;

                return $config;
            } else {
                throw new ExceptionDAO('Ocorreu um erro ao tentar obter as configurações do sistema. Entre em contato com o desenvolvedor.');
            }
        } catch (Exception $e) {
            $num = $this->db->_error_number();
            $msg = $this->db->_error_message();

            //Traduz o tipo de erro de acordo com $num
            $erro = new MapError();
            throw new ExceptionDAO($erro->getError($num, $msg));
        }
    }

}